package com.zmn.oms.dubbo.interfaces.normal.master;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.oms.common.dio.normal.visit.OrderVisitDIO;
import com.zmn.oms.common.dro.visit.OrderVisitResultDRO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

import javax.validation.constraints.NotNull;

/**
 * 类描述：工程师上门
 *
 * @author wangxiaokun
 * @since 2021/10/11 15:18
 */
@Api(
        value = "多次上门",
        tags = {"多次上门"}
)
public interface MasterVisitRemoteService {

    @ApiOperation(
            value = "新增多次上门",
            response = ResponseDTO.class,
            tags = {"多次上门"}
    )
    ResponseDTO<OrderVisitResultDRO> addOrderWorkMultipleVisit(@NotNull(message = "入参不能为空") @ApiParam(value = "新增多次上门入参", required = true) OrderVisitDIO orderVisitDIO);

    @ApiOperation(
            value = "再次出发",
            response = ResponseDTO.class,
            tags = {"多次上门"}
    )
    ResponseDTO againSetOut(@NotNull(message = "入参不能为空") @ApiParam(value = "再次出发入参", required = true)  OrderVisitDIO orderVisitDIO);

    @ApiOperation(
            value = "再次上门",
            response = ResponseDTO.class,
            tags = {"多次上门"}
    )
    ResponseDTO againVisit(@NotNull(message = "入参不能为空") @ApiParam(value = "再次上门入参", required = true)  OrderVisitDIO orderVisitDIO);

    @ApiOperation(
            value = "取消再次上门",
            response = ResponseDTO.class,
            tags = {"多次上门"}
    )
    ResponseDTO cancelAgainVisit(@NotNull(message = "入参不能为空") @ApiParam(value = "取消再次上门入参", required = true)  OrderVisitDIO orderVisitDIO);
}
